MATLAB: 告别for循环 您所在的位置:网站首页 matlab for循环遍历数组 MATLAB: 告别for循环

MATLAB: 告别for循环

2023-10-21 07:23| 来源: 网络整理| 查看: 265

原文首发于blog.scloud.com,转载请注明出处

MATLAB不是C语言,名字中都出现了MAT,在操作MAT时怎么还能用for循环!

在C语言的思路中,如果要对一个二维矩阵每个元素进行某种操作,似乎唯一的方法就是写两层for循环遍历整个矩阵。但是在MATLAB中,这种写法不仅代码量大,运行效率也极低。但是这绝不代表MATLAB时一门低效的语言。相反,MATLAB对矩阵操作进行了大量的优化,只要使用得当,不仅写法简便,效率也会高得出奇

矩阵赋值

让MATLAB操作矩阵变得便利的基础之一就是:MATLAB中可以使用索引对整个矩阵进行操作。这个索引可以是与矩阵相同大小的逻辑矩阵,也可以是元素的位置向量

a = zeros(2,2); b = [true, true; false, false]; % 使用逻辑矩阵对整个矩阵进行操作 a(b) = 1; a = zeros(2,2); b = [1, 3]; % 使用元素位置向量对整个矩阵进行操作 a(b) = 1;

两种方式得到的a的值均为 a = 1 1 0 0

使用索引的操作,从本质上改变了如果要对整个矩阵进行操作必须进行for循环遍历的思维方式。这种使用索引的操作方式配合各种MATLAB函数,能够创造无尽可能

find

假设我们遇到了这个问题:已知有四张二值图 B1,B2,B3,B4,要对它们进行如下操作得到 R

R=(R1⋂


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有